%%% content_codes.erl - definition of daap content codes
%%%
%%% The MIT License
%%%
%%% Copyright (c) 2008 hellomatty.com
%%%
%%% Permission is hereby granted, free of charge, to any person obtaining a copy
%%% of this software and associated documentation files (the "Software"), to deal
%%% in the Software without restriction, including without limitation the rights
%%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
%%% copies of the Software, and to permit persons to whom the Software is
%%% furnished to do so, subject to the following conditions:
%%%
%%% The above copyright notice and this permission notice shall be included in
%%% all copies or substantial portions of the Software.
%%%
%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
%%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
%%% THE SOFTWARE.
%%%

-module(content_codes).
-export([all/0, type/1, name/1, type_code/1]).
all() ->
  [prsv, mper, arif, mcon, mbcl, mcnm, mudl, asda, msur, asyr, mlid, msex, assr, asdb, mlit, asco, asdm, aeNV, mccr, msts, ascp, aseq, mstt, msal, muty, asfm, abgn, mupd, asal, abro, miid, ascm, mspi, assz, astm, asdn, astn, assp, aeSP, asgn, mpco, msrs, avdb, msrv, mslr, msup, mimc, mcna, apro, abar, mdcl, adbs, aply, msaud, mstm, asbt, asrv, mcti, asdk, mlog, asbr, msix, mcty, msqy, abal, mikd, astc, minm, mctc, mrco, mtco, abpl, asur, asst, abcp, apso, asdt, mpro, msbr, mlcl, asdc, asar, asul, msdc  ].

type(prsv) -> list;
type(mper) -> long;
type(arif) -> list;
type(mcon) -> list;
type(mbcl) -> list;
type(mcnm) -> int;
type(mudl) -> list;
type(asda) -> date;
type(msur) -> int;
type(asyr) -> short;
type(mlid) -> int;
type(msex) -> byte;
type(assr) -> int;
type(asdb) -> byte;
type(mlit) -> list;
type(asco) -> byte;
type(asdm) -> date;
type(aeNV) -> int;
type(mccr) -> list;
type(msts) -> string;
type(ascp) -> string;
type(aseq) -> string;
type(mstt) -> int;
type(msal) -> byte;
type(muty) -> byte;
type(asfm) -> string;
type(abgn) -> list;
type(mupd) -> list;
type(asal) -> string;
type(abro) -> list;
type(miid) -> int;
type(ascm) -> string;
type(mspi) -> byte;
type(assz) -> int;
type(astm) -> int;
type(asdn) -> short;
type(astn) -> short;
type(assp) -> int;
type(aeSP) -> byte;
type(asgn) -> string;
type(mpco) -> int;
type(msrs) -> byte;
type(avdb) -> list;
type(msrv) -> list;
type(mslr) -> byte;
type(msup) -> byte;
type(mimc) -> int;
type(mcna) -> string;
type(apro) -> version;
type(abar) -> list;
type(mdcl) -> list;
type(adbs) -> list;
type(aply) -> list;
type(msaud) -> byte;
type(mstm) -> int;
type(asbt) -> short;
type(asrv) -> byte;
type(mcti) -> int;
type(asdk) -> byte;
type(mlog) -> list;
type(asbr) -> short;
type(msix) -> byte;
type(mcty) -> short;
type(msqy) -> byte;
type(abal) -> list;
type(mikd) -> byte;
type(astc) -> short;
type(minm) -> string;
type(mctc) -> int;
type(mrco) -> int;
type(mtco) -> int;
type(abpl) -> byte;
type(asur) -> byte;
type(asst) -> int;
type(abcp) -> list;
type(apso) -> list;
type(asdt) -> string;
type(mpro) -> version;
type(msbr) -> byte;
type(mlcl) -> list;
type(asdc) -> short;
type(asar) -> string;
type(asul) -> string;
type(msdc) -> int.
name(prsv) -> "daap.resolve";
name(mper) -> "dmap.persistentid";
name(arif) -> "daap.resolveinfo";
name(mcon) -> "dmap.container";
name(mbcl) -> "dmap.bag";
name(mcnm) -> "dmap.contentcodesnumber";
name(mudl) -> "dmap.deletedidlisting";
name(asda) -> "daap.songdateadded";
name(msur) -> "dmap.serverrevision";
name(asyr) -> "daap.songyear";
name(mlid) -> "dmap.sessionid";
name(msex) -> "dmap.supportsextensions";
name(assr) -> "daap.songsamplerate";
name(asdb) -> "daap.songdisabled";
name(mlit) -> "dmap.listingitem";
name(asco) -> "daap.songcompilation";
name(asdm) -> "daap.songdatemodified";
name(aeNV) -> "com.apple.itunes.norm-volume";
name(mccr) -> "dmap.contentcodesresponse";
name(msts) -> "dmap.statusstring";
name(ascp) -> "daap.songcomposer";
name(aseq) -> "daap.songeqpreset";
name(mstt) -> "dmap.status";
name(msal) -> "dmap.supportsuatologout";
name(muty) -> "dmap.updatetype";
name(asfm) -> "daap.songformat";
name(abgn) -> "daap.browsegenrelisting";
name(mupd) -> "dmap.updateresponse";
name(asal) -> "daap.songalbum";
name(abro) -> "daap.databasebrowse";
name(miid) -> "dmap.itemid";
name(ascm) -> "daap.songcomment";
name(mspi) -> "dmap.supportspersistentids";
name(assz) -> "daap.songsize";
name(astm) -> "daap.songtime";
name(asdn) -> "daap.songdiscnumber";
name(astn) -> "daap.songtracknumber";
name(assp) -> "daap.songstoptime";
name(aeSP) -> "com.apple.itunes.smart-playlist";
name(asgn) -> "daap.songgenre";
name(mpco) -> "dmap.parentcontainerid";
name(msrs) -> "dmap.supportsresolve";
name(avdb) -> "daap.serverdatabases";
name(msrv) -> "dmap.serverinforesponse";
name(mslr) -> "dmap.loginrequired";
name(msup) -> "dmap.supportsupdate";
name(mimc) -> "dmap.itemcount";
name(mcna) -> "dmap.contentcodesname";
name(apro) -> "daap.protocolversion";
name(abar) -> "daap.browseartistlisting";
name(mdcl) -> "dmap.dictionary";
name(adbs) -> "daap.databasesongs";
name(aply) -> "daap.databaseplaylists";
name(msaud) -> "dmap.authenticationmethod";
name(mstm) -> "dmap.timeoutinterval";
name(asbt) -> "daap.songsbeatsperminute";
name(asrv) -> "daap.songrelativevolume";
name(mcti) -> "dmap.containeritemid";
name(asdk) -> "daap.songdatakind";
name(mlog) -> "dmap.loginresponse";
name(asbr) -> "daap.songbitrate";
name(msix) -> "dmap.supportsindex";
name(mcty) -> "dmap.contentcodestype";
name(msqy) -> "dmap.supportsquery";
name(abal) -> "daap.browsealbumlistung";
name(mikd) -> "dmap.itemkind";
name(astc) -> "daap.songtrackcount";
name(minm) -> "dmap.itemname";
name(mctc) -> "dmap.containercount";
name(mrco) -> "dmap.returnedcount";
name(mtco) -> "dmap.specifiedtotalcount";
name(abpl) -> "daap.baseplaylist";
name(asur) -> "daap.songuserrating";
name(asst) -> "daap.songstarttime";
name(abcp) -> "daap.browsecomposerlisting";
name(apso) -> "daap.playlistsongs";
name(asdt) -> "daap.songdescription";
name(mpro) -> "dmap.protocolversion";
name(msbr) -> "dmap.supportsbrowse";
name(mlcl) -> "dmap.listing";
name(asdc) -> "daap.songdisccount";
name(asar) -> "daap.songartist";
name(asul) -> "daap.songdataurl";
name(msdc) -> "dmap.databasescount".
type_code(byte) -> 1;
type_code(short) -> 3;
type_code(int) -> 5;
type_code(long) -> 7;
type_code(string) -> 9;
type_code(date) -> 10;
type_code(version) -> 11;
type_code(list) -> 12;
type_code(Tag) -> type_code(type(Tag)).
